package com.piggy.logi.sys.bo;

import com.piggy.common.core.web.domain.BaseTenantEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.util.Date;
import javax.validation.constraints.*;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;

/**
 * 我的客户编辑对象 logi_customer
 *
 * @author piggy
 * @date 2023-08-16
 */
@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = true)
@ApiModel("我的客户编辑对象")
public class LogiCustomerEditBo extends BaseTenantEntity {


    /** 客户id */
    @ApiModelProperty("客户id")
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private Long customerId;

    /** 部门名称 */
    @ApiModelProperty("部门名称")
    private String customerName;

    /** 公司编码 */
    @ApiModelProperty("公司编码(企业信用证代码)")
    @NotBlank(message = "企业信用证代码不能为空")
    private String customerCode;

    /** 负责人 */
    @ApiModelProperty("负责人")
    private String leader;

    /** 联系电话 */
    @ApiModelProperty("联系电话")
    private String phone;

    /** 邮箱 */
    @ApiModelProperty("邮箱")
    private String email;

    /** 邮编 */
    @ApiModelProperty("邮编")
    private String postcode;

    /** 法人身份证号 */
    @ApiModelProperty("法人身份证号")
    private String legalIdcard;

    /** 法人身份证照片url(正面) */
    @ApiModelProperty("法人身份证照片url(正面)")
    private String legalIdcardUrl;

    /** 法人身份证照片url(反面) */
    @ApiModelProperty("法人身份证照片url(反面)")
    private String legalIdcardUrl2;

    /** 职务(岗位) */
    @ApiModelProperty("职务(岗位)")
    private String customerPost;

    /** 企业性质 */
    @ApiModelProperty("企业性质")
    private String customerNature;

    /** 所属行业 */
    @ApiModelProperty("所属行业")
    private String customerIndustry;

    /** 客户类型(企业类型) */
    @ApiModelProperty("客户类型(企业类型)")
    private String customerEntType;

    /** 组织属性 */
    @ApiModelProperty("组织属性")
    private String customerEntNature;

    /** 企业经营范围 */
    @ApiModelProperty("企业经营范围")
    private String customerBizScope;

    /** 公司logo url */
    @ApiModelProperty("公司logo url")
    private String customerLogo;

    /** 公司成立时间 */
    @ApiModelProperty("公司成立时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date customerDate;

    /** 座机号码 */
    @ApiModelProperty("座机号码")
    private String customerTel;

    /** 营业执照 */
    @ApiModelProperty("营业执照")
    private String customerLicense;

    /** 营业执照照片 */
    @ApiModelProperty("营业执照照片")
    private String customerLicenseUrl;

    /** 开户许可证 */
    @ApiModelProperty("开户许可证")
    private String customerOpenPremit;

    /** 道路经营许可证 */
    @ApiModelProperty("道路经营许可证")
    private String customerRoadLicense;

    /** 场所照片 */
    @ApiModelProperty("场所照片")
    private String customerPlateUrl;

    /** 公司地址所在县/区 */
    @ApiModelProperty("公司地址所在县/区")
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private Integer customerDistrict;

    /** 详细地址 */
    @ApiModelProperty("详细地址")
    private String customerAddress;

    /** 经度 */
    @ApiModelProperty("经度")
    private BigDecimal customeLat;

    /** 纬度 */
    @ApiModelProperty("纬度")
    private BigDecimal customeLng;

    /** 仓储容量 */
    @ApiModelProperty("仓储容量")
    private BigDecimal customeWhseCapacity;

    /** 车辆数 */
    @ApiModelProperty("车辆数")
    private Integer vehicleNum;

    /** 员工人数 */
    @ApiModelProperty("员工人数")
    private Integer staffNum;

    /** 其它资料 */
    @ApiModelProperty("其它资料")
    private String otherInfo;

    /** 是否资质认证(企业相关认证) [1 未认证 1 认证中 3 认证失败 4 已认证] */
    @ApiModelProperty("是否资质认证(企业相关认证) [1 未认证 1 认证中 3 认证失败 4 已认证]")
    private Integer quliFlag;

    /** 资质认证通过时间 */
    @ApiModelProperty("资质认证通过时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date quliTime;

    /** 备注 */
    @ApiModelProperty("备注")
    private String remark;

    /** 部门状态（0正常 1停用） */
    @ApiModelProperty("部门状态（0正常 1停用）")
    private String status;

    /** 更新者 */
    @ApiModelProperty("更新者")
    private String updateBy;

    /** 更新时间 */
    @ApiModelProperty("更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;
}
